﻿<UserControl x:Class="WpfApplicationExperimental.OutlookTabControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:presentation="clr-namespace:DataAccesLayer;assembly=DataAccesLayer"
    xmlns:system="clr-namespace:System;assembly=mscorlib"
    xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic"    
    xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
    >
    
    <UserControl.Resources >
        <SolidColorBrush x:Key="OutlookButtonForeground" Color="#FF204D89"/>

        <LinearGradientBrush x:Key="OutlookButtonBackground" EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FFD9EDFF" Offset="0"/>
            <GradientStop Color="#FFC0DEFF" Offset="0.445"/>
            <GradientStop Color="#FFC0D9FB" Offset="1"/>
            <GradientStop Color="#FFAFD1F8" Offset="0.53"/>
        </LinearGradientBrush>

        <LinearGradientBrush x:Key="OutlookButtonHighlight" EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FFFFBD69" Offset="0"/>
            <GradientStop Color="#FFFFB75A" Offset="0.0967"/>
            <GradientStop Color="#FFFFB14C" Offset="0.2580"/>
            <GradientStop Color="#FFFB8C3C" Offset="0.3870"/>
            <GradientStop Color="#FFFEB461" Offset="0.9677"/>
            <GradientStop Color="#FFFEBB67" Offset="1"/>
        </LinearGradientBrush>

        <Style x:Key="OutlookTabControlStyle" TargetType="{x:Type TabControl}">
            <Setter Property="Foreground" Value="{DynamicResource OutlookButtonForeground}"/>
            <Setter Property="Background" Value="{DynamicResource OutlookButtonBackground}"/>
            <Setter Property="BorderBrush" Value="{x:Static Microsoft_Windows_Themes:ClassicBorderDecorator.ClassicBorderBrush}"/>
            <Setter Property="BorderThickness" Value="3"/>
            <Setter Property="Margin" Value="0"/>
            <Setter Property="Padding" Value="1"/>
            <Setter Property="MinWidth" Value="10"/>
            <Setter Property="MinHeight" Value="10"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabControl}">
                        <Grid ClipToBounds="true" SnapsToDevicePixels="true"
                      KeyboardNavigation.TabNavigation="Local">
                            <Grid.RowDefinitions>
                                <RowDefinition x:Name="RowDefinition0" Height="100"/>
                                <RowDefinition x:Name="RowDefinition1" Height="*"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition x:Name="ColumnDefinition0"/>
                                <ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
                            </Grid.ColumnDefinitions>
                            <Grid x:Name="ContentPanel" Grid.Column="0" Grid.Row="1"
                        KeyboardNavigation.DirectionalNavigation="Contained"
                        KeyboardNavigation.TabIndex="2"
                        KeyboardNavigation.TabNavigation="Local">
                                <Microsoft_Windows_Themes:ClassicBorderDecorator
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderStyle="Raised"
                        BorderThickness="{TemplateBinding BorderThickness}">
                                    <ContentPresenter SnapsToDevicePixels=
                            "{TemplateBinding SnapsToDevicePixels}" Margin="2,2,2,2"
                            x:Name="PART_SelectedContentHost"
                            ContentSource="SelectedContent"/>
                                </Microsoft_Windows_Themes:ClassicBorderDecorator>
                            </Grid>
                            <StackPanel HorizontalAlignment="Stretch" Margin="0,-2,0,0"
                    x:Name="HeaderPanel" VerticalAlignment="Bottom" Width="Auto" 
                Height="Auto" Grid.Row="1" IsItemsHost="True"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="TabStripPlacement" Value="Bottom">
                                <Setter Property="Grid.Row"
                        TargetName="ContentPanel" Value="0"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition0" Value="*"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition1" Value="Auto"/>
                            </Trigger>
                            <Trigger Property="TabStripPlacement" Value="Left">
                                <Setter Property="Grid.Row"
                            TargetName="ContentPanel" Value="0"/>
                                <Setter Property="Grid.Column"
                            TargetName="ContentPanel" Value="1"/>
                                <Setter Property="Width"
                            TargetName="ColumnDefinition0" Value="Auto"/>
                                <Setter Property="Width"
                            TargetName="ColumnDefinition1" Value="*"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition0" Value="*"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition1" Value="0"/>
                            </Trigger>
                            <Trigger Property="TabStripPlacement" Value="Right">
                                <Setter Property="Grid.Row"
                            TargetName="ContentPanel" Value="0"/>
                                <Setter Property="Grid.Column"
                            TargetName="ContentPanel" Value="0"/>
                                <Setter Property="Width"
                            TargetName="ColumnDefinition0" Value="*"/>
                                <Setter Property="Width"
                            TargetName="ColumnDefinition1" Value="Auto"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition0" Value="*"/>
                                <Setter Property="Height"
                            TargetName="RowDefinition1" Value="0"/>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="false">
                                <Setter Property="Foreground"
                            Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="OutlookTabItemStyle" TargetType="{x:Type TabItem}">
            <Setter Property="Padding" Value="12,2,12,2"/>
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
            <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
            <Setter Property="VerticalContentAlignment" Value="Stretch"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Border SnapsToDevicePixels="true" x:Name="Bd"
                    Background="{TemplateBinding Background}"
                    BorderThickness="1" BorderBrush="#FF6593CF">
                            <ContentPresenter SnapsToDevicePixels=
                        "{TemplateBinding SnapsToDevicePixels}"
                        Margin="{TemplateBinding Padding}"
                VerticalAlignment="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
                ContentSource="Header" RecognizesAccessKey="True"
                            HorizontalAlignment="Left"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="Selector.IsSelected" Value="True">
                                <Setter Property="Background" TargetName="Bd"
                Value="{DynamicResource OutlookButtonHighlight}"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <!--this is a ListView Style -->
        <Style x:Key="ItemContStyle" TargetType="{x:Type ListViewItem}">
            <Style.Resources>
                <LinearGradientBrush x:Key="ProfitBrush" StartPoint="0.5,0" EndPoint="0.5,1">
                    <GradientStop Offset="0.1" Color="#AA00CC00" />
                    <GradientStop Offset="0.8" Color="#55008800" />
                </LinearGradientBrush>
                <LinearGradientBrush x:Key="LossBrush" StartPoint="0.5,0" EndPoint="0.5,1">
                    <GradientStop Offset="0.1" Color="#AACC0000" />
                    <GradientStop Offset="0.8" Color="#55880000" />
                </LinearGradientBrush>
            </Style.Resources>

            <!-- Stretch the content so that we can right-align values 
           in the Balance column. -->
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />

            <Style.Triggers>

            </Style.Triggers>
        </Style>
        <SolidColorBrush x:Key="textbrush" Color="#FF204D89"/>
    </UserControl.Resources>

       <Grid>

        <TabControl BorderBrush="{x:Null}" BorderThickness="{DynamicResource BorderThikness}" Name="MainOutlookControl" Style="{DynamicResource OutlookTabControlStyle}" TabStripPlacement="Bottom" Grid.Row="1" Background="{x:Null}" Grid.RowSpan="3" >
            <TabItem Background="{x:Null}" Foreground="{DynamicResource textbrush}" Header="Έγγραφα" Height="30" Style="{DynamicResource OutlookTabItemStyle}">
                <Grid Background="{x:Null}">
                    <TreeView BorderBrush="{x:Null}" ClipToBounds="False" FontSize="11" Foreground="#FF204D89" HorizontalAlignment="Left"  Name="documentstreeview" Opacity="1"   Background="{x:Null}">
                        <TreeView.Resources>
                            <ResourceDictionary Source="../Resources/GroupedTreeViewItemStyle.xaml" />
                        </TreeView.Resources>
                    </TreeView>
                </Grid>
            </TabItem>
            <TabItem Header="Προσωπικό" Height="30" Style="{DynamicResource OutlookTabItemStyle}" BorderBrush="#FF090F1B" FontWeight="Normal" FontSize="11" FontFamily="Tahoma" Background="{x:Null}" Foreground="{DynamicResource textbrush}">
                <Grid Background="{x:Null}">
                    <TreeView Background="{x:Null}" BorderBrush="{x:Null}" FontSize="12" Foreground="#FF204D89" Name="personeltreeview" >
                        <TreeView.Resources>
                            <ResourceDictionary Source="../Resources/GroupedTreeViewItemStyle.xaml" />
                        </TreeView.Resources>
                    </TreeView>
                </Grid>
            </TabItem>
            <TabItem Background="{x:Null}" Height="30" Foreground="{DynamicResource OutlookButtonForeground}" Header="Διορθωτικες Προληπτικες Ενέργειες"  Style="{DynamicResource OutlookTabItemStyle}">
                <Grid>
                    <TreeView Background="{x:Null}" BorderBrush="{x:Null}" ClipToBounds="True" FontSize="12" Foreground="#FF204D89" Name="projectsTreeView">
                        <TreeView.Resources>
                            <ResourceDictionary Source="../Resources/GroupedTreeViewItemStyle.xaml"/>
                        </TreeView.Resources>
                    </TreeView>
                </Grid>
            </TabItem>
            <TabItem Background="{x:Null}" Height="30" Foreground="{DynamicResource OutlookButtonForeground}" Header="Απολογισμός Βελτιώσεις" Style="{DynamicResource OutlookTabItemStyle}">
                <Grid>
                    <TreeView Background="{x:Null}" BorderBrush="{x:Null}" FontSize="12" Foreground="#FF204D89"  Name="failuresTreeView">
                        <TreeView.Resources>
                            <ResourceDictionary Source="../Resources/GroupedTreeViewItemStyle.xaml"/>
                        </TreeView.Resources>
                    </TreeView>
                </Grid>
            </TabItem>
            <TabItem Background="{x:Null}" Height="30" Foreground="{DynamicResource textbrush}" Header="προμήθειες" Style="{DynamicResource OutlookTabItemStyle}">
                <Grid>
                    <TreeView Background="{x:Null}" BorderBrush="{x:Null}" FontSize="12" Foreground="#FF204D89" Name="suppliesTreeView">
                        <TreeView.Resources>
                            <ResourceDictionary Source="../Resources/GroupedTreeViewItemStyle.xaml"/>
                        </TreeView.Resources>
                    </TreeView>
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</UserControl>
